Sorting system with two-line sorting switch



March 28, 1967 D. G. OCONNOR ETAL 3,311,892

SORTING SYSTEM WITH TWO-LINE SORTING SWITCH Original Filed Feb. 21, 195'? 6 Sheets-Sheet 1 I I -W I h l TIMING REsET TIMING FIG. I

GONTROL FIELD REcORD INFORMATION LOIIIIOIOIIIDOII FIG 2 cONTROL FIELD REGORD INFORMATION BIOIOIIOIOI looocfl GONTROL FIELD REcORD INFORMATION AIOIOIIIIOIIIOOIJ FIG 2 B GONTROL FIELD REcORD INFORMATION BlOl IoooI I IOOOOI] LEGEND 11 ANDGATE Il ORGATE I- INVERT ER DANIEL 6.0'CONNOR RAYMOND J NELsON R o TRIGGER INVENTORS -s I FIG. 2 C

A TORNEY March 28, 1967 D. G. O'CONNOR ETAL SORTING SYSTEM WITH TWO-LINE SORTING SWITCH Original Filed Feb. 21, 1957 6 Sheets-Sheet 2 TTORNEY March 28, 1967 0. 5. O'CONNOR ETAL 3,311,892

SOR'IING SYSTEM WITH TWO'LINE SORTING SWITCH Original Filed Feb. 21, 195'? 6 Sheets-Sheet 3 RESET FKB. 5

TIMING -49 COMPLETED PASS FIG. 4

! DANIEL G. O'CONNOR RAYMOND J. NELSON INVENTOR ATTORNEY March 1967 o. G. O'CONNOR ETAL 3, 1,892

SORTING SYSTEM WITH TWO-LINE SORTING SWITCH Original Filed Feb. 21, 1957 6 Sheets-Sheet 4 N n LI) 1? 3231? j .J j g (D m A A A A A GATING CIRCUITRY CIRCUITRY DECISION DANIEL G. O'CONNOR RAYMOND J. NELSON INVENTOR ATTORN EYS March 28. 1967 D. G. QCQNNQR Em. 3,311,892

SOR'I'ING SYSTEM WITH TWO-LINE SORTING SWITCH Original Filed Feb. 21, 1957 6 Sheets-Sheet 5 N. OE

kwmwm 02-22.

PD m .PDO wJOEPZOU vm m Emma v2.2; 5 0 w o 2% mm DANIEL G. O'CONNOR 2. RAYMOND J. NELSON INVENTOR ATTORN EY 5 March 1967 0. e. OCONNOR ETAL SORTING SYSTEM WITH TWO-LINE SORTING SWITCH Original Filed Feb. 21, 1957 6 Sheets-Sheet 6 DANIEL G.O'CONNOR RAYMOND J. NELSON INVENTOR TORNEYS United States Patent 3,311,892 SORTING SYSTEM WITH TWO-LINE SORTING SWITCH Daniel G. OConnor, West Los Angeles, Calif., and Raymond J. Nelson, Cleveland Heights, Ohio, assiguors to General Precision, Inc., a corporation of Delaware Continuation of application Ser. No. 641,502, Feb. 21, 1957. This application Sept. 30, 1963, Ser. No. 313,147 14 Claims. (Cl. MIL-172.5)

This invention relates to electronic data processing equipment and more particularly to electronic switching circuits and magnetic storage means which may be utilized to sort randomly arranged information according to a desired sequence; this is a continuation of a prior application, Ser. No. 641,502, filed by these inventors on February 21, 1957.

Data processing systems have a wide and important function in present day business, research and scientific activities. The electronic information handling machines used in these systems usually have a considerable amount of data supplied to them. Broadly, the data processing systems used for business applications such as maintaining running balances in banks and inventory systems involve large amounts of information and relatively few simple computational operations. While data processing systems used for research or scientific purposes involve a large number of complex computational operations and a relatively small amount of information there are, of course, many exceptions to these generalities. The data used in these systems is often coded in a manner exemplified by the various types of binary codes. For example, binary bits of ascending significance may be used to define characters such as Arabic numerals, letters of the alphabet, or other symbols. These characters may be combined to form records of any convenient length. These records may be placed on any of the well known means of presentation such as punched tape, magnetic tape, punch cards, or magnetic drum, for providing the medium of information in the known data processing systerns.

Information supplied to the input, stored within or appearing at the output of these systems may often be in a random order with reference to that which is desired. Therefore, it is common for data processing systems to include means for arranging the records containing information in a desired sequence. Often, only a portion of a record, known as the control field, is utilized in determining the precedence of one record over another in a particular sequence.

There are several well known types of sorting systems used in present day commercial data processing systems. For example, when the record medium is punched cards, a method known as pigeon-hole sorting may be utilized. According to this method, pockets or pigeon-holes may be labeled with numbers 0 through 9. Thereupon, the file of cards is sorted into these pockets according to the least significant digit of the control field of each card. The cards are then collected from the pigeon holes, assembled and next sorted into the pigeon holes With respect to the next least significant digit of the record control field of each card. Each step of sorting the file of cards according to a particular digit and then assemblying the file is known as a pass. This method, generally has the advantage of requiring a relatively shorter sorting time than many other methods if the file of records is relatively short and if the information is stored in punch cards. The method usually utilizes control fields which are in decimal form rather than a binary code.

Another known method of sorting information is known as magnetic tape merging. According to this method a file of records recorded on magnetic tape is separated into two tape units. The initial records of these two tapes are fed into a storage device. The control fields of these two records are then copied into a comparison means in which the precedence of the two records is determined. The record with the lowest precedence is then read out of the storage onto a third magnetic tape. The record with the highest precedence is retained in the storage means and a copy of the control field is retained in the comparison means. Next, a new record with a control field is fed into the storage means and copy thereof is fed into the comparison means from the tape that provided the previous record of lowest precedence. The comparison process is then repeated and the record with the lowest precedence is then read out of the storage behind the first record previously read onto the third magnetic tape if they form a monotonic ascending sequence. If they do not form such a sequence the second record of low precedence is read out onto a fourth magnetic tape. The merging process continues in precisely this same way until all the records on the first and second magnetic tapes have been compared and fed onto the third and fourth magnetic tapes. In this manner the merging rocess halves the number of ascending sequences occuring in the file of records on each complete comparison. The comparison process is then repeated using the third and fourth magnetic tapes as inputs to the comparison means. Each comparison of the entered file is called a pass. Such comparison of the whole control field of one record with the whole control field of another record is often accomplished by substracting them by standard computer techniques, with the sign of the resultant being an indication of the precedence. The general technique involved in merging has a number of advantages. One of these is the large capacity afforded by extremely large files of records which may be placed on a magnetic tape. Another is present where the file of records is already partially sorted, because the number of comparisons and passes required to sort the information into the desired sequence is then reduced.

The technique of merging is subject to several serious disadvantages. Most important of these is that a considerable amount of equipment is required in order that the above comparison steps take place. For example, merging storage means in addition to the regmlar information storage must be provided for both of the records being compared. The comparison means for comparing the two control fields simultaneously must be capable of storing both fields simultaneously while the precedence is being determined in a manner such as the one suggested above. Moreover, the merging storing means must be capable of retaining the record of the higher precedence while a new record is read into the merging storage means. In addition comparison means must be included to compare the control field of the record most recently deemed to have the lower precedence with the control field of the record which previously had the lower precedence in order that the output tapes be switched if they do not form an ascending sequence. It should be apparent to those skilled in the art that the circuitry and apparatus required to perform these tasks is costly and tends greatly to complicate the equipment.

In the prior art, the existing components and circuitry in the computer sections of the data processing systems have been utilized to accomplish merging, thereby avoiding the duplication of complicated equipment in separate sorting sections of the data processing system. Use of the computation portions of the data processing system for sorting ties up the most expensive portion of the data processing system for long periods of operation on the data in a relatively low grade manner, thereby raising the operating costs of the overall data processing system.

This extra operating cost, of course, may be avoided by duplicating the necessary and complicated circuitry in a separate sorting system. In some instances, the prior art has duplicated the necessary components and circuitry in a separate sorting section, thereby freeing the computer portions of the data processing system for computation purposes. This approach, of course, increases the equipment cost considerably. Another disadvantage of the merging technique is the inordinately long time periods which are required to sort a completely unsorted file.

The description of sorting techniques set forth above has been restricted to the sorting of a file of records all in one batch appearing on two magnetic tapes or their equivalent. It is probable that quite different sorting problems would usually arise in such exemplary applications as inventory and production control. This sorting problem is sometimes referred to as real time sorting and exists when records are fed into the data processing system at irregular intervals and it is desired that each record be placed in a particular sequence with the records of information already in the data processing system. The merging technique, while having particular advantages within the limitations set forth above, does not lend itself to real time sorting.

Those skilled in the art often consider sorting systems as falling into two general classes. The systems of one class are sometimes referred to as parallel sorting systems and may generally be described as systems Where each successive record is selectively routed to one of a plurality of storage means or positions in accordance with the sequence of the sort. The pigeon hole technique described above, exemplifies the parallel sorting system category. The systems of the other class are sometimes referred to as serial sorting systems and are distinguished from the parallel systems in that only those records of the successive records being considered with a particular precedence are routed to a particular storage means or position, the sorting being performed by passing the records through the sorting system a number of times until all records are arranged in the desired sequence. The merging technique described above exemplifies the serial sorting category. In general, serial sorting systems have a decided advantage over parallel systems with respect to system complexity.

On the basis of the above rsum of the prior art sorting systems, it appears that sorting may best be accomplished in a data processing system in sorting sections separate from the computational section by techniques which adopt the serial sort approach but which avoid the shortcomings of merging as set forth above. According to the present invention, the shortcomings of the prior art may be avoided by using a novel sorting switch with two input terminals and two output terminals providing means for comparing two records, character by character and bit by bit, which does not distinguish between parts of the control field which are identically the same. Also, once one portion of the control fields of the two records indicates that one record takes precedence over the other, the rest of the bits and characters of that record are switched to the output terminal of the sorting switch which is to receive the record of higher precedence. It is an important aspect of the present invention that when the two records pass through the two output terminals in accordance with precedence, it is impossible to ascertain by inspection of the content of each of the records that a portion of the control field of each may have passed through different input terminals of the sorting switch. This is particularly significant inasmuch as the passage of the file of records through the sorting switch is not delayed while the precedence of the records is determined. It is also important to note that the sorting switch of the present invention is of relatively simple construction and low cost. One of the shortcomings of prior art magnetic tape merging not heretofore mentioned arises from the use of plural magnetic tapes and tape drives which raise serious questions of synchronization. Other serious design problems arising from the use of magnetic tape in a data sorting system involve critical read and write head positioning and tape stretch. The sorting process, unlike merging, lends itself to the techniques of utilizing one storage medium at a time, thereby eliminating the need for synchronization between separate storage media.

It is therefore a primary object of the present invention to provide an improved data sorting system.

It is another object of the present invention to provide an improved serial sorting system.

It is still another object of the present invention to provide a sorting switch useful in sorting data,

It is another object of the present invention to provide a data sorting system useful for both batch and real time sorting.

It is a further object of the present invention to provide a serial sorting system of relatively low cost and complexity.

It is still another object of the present invention to provide a sorting switch which determines the precedence of two records without storing the data until the decision is made.

It is another object of the present invention to provide an improved serial sorting system which may be independent of the computational portion of a data processing system.

It is still another object of the present invention to provide improved magnetic drum storage apparatus providing the large data capacity, and the synchronization required for an improved data sorting system.

It is a further object of the present invention to provide improved magnetic drum storage apparatus for a data system wherein read and write head positioning is not critical as a result of tape stretch or like component limitations.

Other objects of the invention will in part be obvious and will in part appear hereinafter.

The invention accordingly comprises the features of construction, combinations of elements, and arrangement of parts, which will be exemplified in the constructions hereinafter set forth, and the scope of the invention will be indicated in the claims.

For a fuller understanding of the nature and objects of the invention, reference should be had to the following detailed description taken in connection with the accompanying drawings, in which:

FIG. 1 is an electrical schematic illustrating a preferred embodiment of the serial by bit two-line sorting switch according to the present invention,

FIGS. 2A and 2B tabular illustrations of the binary code content of two pairs of records where the control field of one record indicates precedence over the control field of the other,

FIG. 2C is a tabular illustration of the electrical symbols for the electrical components used in the two line sorting switch of FIG. 1,

FIG. 3 is an electrical schematic of the overall sorting system of the present invention including a pseudo helical magnetic storage path,

FIG. 4 is a tabular illustration of record rearrangement in accordance with the operation of the two-line sorting switch of the present invention,

FIG. 5 is an electrical schematic of sequence check circuitry useable in the sorting system of the present invention,

FIG. 6 is an electrical block diagram of a character by character two line sorting switch according to the present invention,

FIG. 7 is an electrical schematic of the decision circuitry of the two-line sorting switch of FIG. 6 according to the present invention, and,

FIG. 8 is an electrical schematic of the gating circuitry of the two-line sorting switch of FIG. 6 according to the present invention.

One of the basic components of a data sorting process constructed according to the present invention is the sorting switch illustrated in detail in FiG. l. Broadly, the input terminals A and B of the sorting switch each receive randomly arranged records serially in the form of binary bits represented by either positive pulses (l) or relatively negative pulses (0) in a manner such that a pair of control fields may be compared bit by bit by a portion of the sorting switch enclosed by a dotted line containing the legend X, which portion may be characterized as a decision circuit. The details of this de cision circuit are set forth below. The comparison of the control fields of two records at a time in this manner required that the control field precede the rest of the record and that the bits of each control field be considered in a descending order of significance. The decision circuit, after determining the precedence of either the record being fed in at input terminal A or the record being simultaneously fed into the input terminal B, may be connected to operate the portion of the sorting switch indicated at Y, which latter portion may be termed gating circuitry. The gating circuitry may be characterized as operative to make the necessary switch operations in order that the high output terminal (marked H) always receives the serial bits from the record which has precedence after the aforementioned determination is made. In a first switching mode the serial bits which are fed into input terminal A are also fed through line 11 and gating circuitry Y to the high output terminal H, and the serial bits which are fed into the input termi nal B are also fed through line 12, and gating circuitry Y to the low output terminal L. As long the serial bits appearing at terminals A and B are identical, both positive (1) or negative (0), the decision circuitry re serves the decision.

However, when a bit appearing at terminal A is positive (1) while the bit appearing at terminal B is relatively negative (0) the decision circuit X will detect the precedence of the record entering the sorting switch at input terminal A over that entering at input terminal 8, and the decision circuit becomes set so that this precedence is recognized for the remainder of the record time. During this condition the decision circuit does not affect the normal mode of operation of the sorting switch through the gating circuit as the record being fed into the input terminal A is being fed into the high output terminal H as desired, and the record being fed into input terminal B is being fed onto the low output termi- 11211 L as desired. As will be set forth below in detail, a reset pulse may be utilized to reset the decision circuit prior to the entry of each pair of records into the sorting switch.

Contrary to the last example, when a bit appearing at terminal A is relatively negative (0) while the bit appearing at the terminal B is positive (1), the decision circuit Y will detect the precedence of the record entering the sorting switch at terminal B over that entering at input terminal A and the decision circuit becomes set so that this precedence is recognized for the remainder of the record time. As a result of this condition, the decision circuits may cause the sorting switch to change its mode through the operation of the gating circuit. In this mode, the record being fed into input terminal B having precedence is fed to high output terminal H, while the record being fed into input terminal A is fed to the low output terminal L. Thus, viewing the sorting switch from the output terminals, the record, including the control field with the highest precedence, gives the appearance of being connected to the high output terminal H throughout the complete record time even before the decision circuit has determined the precedence, while the record including the control field with the lowest precedence also gives the appearance of being connected to the low output terminal throughout the complete record time even before the decision circuit has determined the precedence. This of course results from. the fact that until the serial bits of the control fields of the record which are being fed into input terminals A and B differ, no decision as to precedence is made and as a practical matter the records are identical until that time. These features of the sorting switch are very important, since the precedence of two coded records may be determined as the serial bits of each pass through the sorting switch without the need for storage or the relatively complicated decision components utilized in the prior art merging techniques described above.

Prior to considering the details of FIG. 1 it may be helpful to consider a description of typical records and standard components therein as set forth in FIG. 2. FIG. 2A illustrates the coded appearance of a first pair of records which might be fed into terminals A and B. As shown herein the records are made up of two portions, one which has been referred to as the control field, which determines the precedence 'of the record, and the other, which contains the rest of the record information but which has no bearing on the determination of precedence. As already suggested, the binary bits making up the record may be grouped to define characters and a number of characters may be grouped into individual records. The number of bits with ascending significance, which are selected to determine a character is entirely a matter of choice. The number of characters and their nature such as Arabic numeral, letters of the alphabet, or other symbols which determine a record is also a matter of choice. The control field of the record may vary with the system application and the particular sorting problem and may involve either a small portion of the record or the whole record. FIG. 2A illustrates a pair of records of data which may appear at the input terminals A and B, wherein the record being fed through input terminal A has a control field indicating precedence over the other record. FIG. 2B illustrates a pair of records of data which may be applied to input terminals A and B wherein the record being fed through input terminal B has a control field indicating precedence. FIG. 2C is a table indicating the symbols used for standard computer components. The and gate is conventional and may comprise diode circuitry connected in a manner such that two positive (high) input pulses are required in order that the gate have a positive (high) output pulse. If the and gate has three inputs they all should be positive (high) in order that the gate have a positive (high) output. The or gate is conventional and may comprise diode circuitry (not shown) connected in a manner such that when either one or the other or both of its inputs receives a positive (high) pulse, the gate has a positive (high) output pulse. The inverter is conventional, and may comprise triode vacuum tube circuitry connected in such a manner that when a positive (high) pulse is fed into its input that a relatively negative (low) pulse appears in its output and when a relatively negative pulse is fed into its input that a positive (high) pulse appears in its output. The trigger is conventional and may comprise, for example, two inverters and two or gates connected in a closed loop circuit with two input and output terminals, in a manner such that the zero side of the bistable device is positive (high) when it is in the reset condition. Each of the standard components above may be of the types which are described in detail in Chapter 2 of Arithmetic Operations in Digital Computers, by R. K. Richards, published by D. Van Nostrand Company, Inc., in 1955, and which are shown in various outer publications as well.

Referring now to the details of FIG. 1, the decision circuit X and the gating circuit Y may be connected to cooperate in a manner such that and gates 19 and 22 are open (responsive to positive or high inputs) and and gates 20 and 21 closed (nonresp'onsive to negative or low inputs) until at least one precedence decision is made for a pair of records, and also during the remaining record time if the record appearing at input terminal A is determined to have precedence. When and" gates 19 and 22 only are open, input terminal A is connected to 'output terminal H and input terminal B is connected to output terminal L, providing what was heretofore described as the first mode of operation of the sorting switch. Conversely, and gates 20 and 21 should be open and and gates 19 and 22 closed so that the sorting switch operates in its second mode of operation during the remainder of the record time after a determination of precedence of the record appearing at input terminal B. During this mode input terminal A is connected to output terminal L, while input terminal B is connected to output terminal H. Or gates 23 and 24, operate as described above, are open all the time since they are responsive to either one or more positive (high) inputs. In 'order that the operation of the various components of the sorting switch be synchronized, it is necessary that a timing pulse be fed simultaneously into the and gates 15, 16, 19, 20, 21 and 22, each time each pair of bits appear at input terminals A and B. The initial condition of both triggers 17 and 18 of the decision circuitry is the reset" condition the triggers being designed so that their zero sides are positive (high). As shown, the

zero side of trigger 18 is connected to and gates 19 and 22 (along with the timing pulse inputs) thereby causing and gates 19 and 22 to be open when trigger 18 is in the reset condition. Also, and" gates 20 and 21 will be closed as a result of receiving the down (relatively negative) input from the one side of the trigger 18 when it is in the reset condtion. Thus, the sorting switch will be in its first mode of operation when the trigger 18 is in its reset condition. When, however, trigger 18 is set by the output of and gate 16, its zero" side is down (relatively negative) and its one side is high (positive), thereby causing and gates 19 and 22 to close and and gates 20 and 21 to open, thereby altering the sorting switch operation to the above described second mode, whereby input terminal A is connected through and" gate 21 and or gate 24 to low output terminal L, and input terminal B is connected through and gate 20 and or gate 23 to high output terminal H. It is the interaction of and gate 13, inverter 14, and gate 15, and gate 16 and trigger 17, in re sponse to the later record inputs at input terminals A and B that determines whether trigger 18 maintains the sorting switch in its first or second mode of operation.

The two pairs of records as shown in FIG. 2A and FIG. 2B are intended to illustrate the two alternate examples of precedence. FIG. 2A shows serial by bit inputs, which indicate that the record input to input ter' minal A has precedence over the record input to input tenrninal B, while FIG. 2B shows serial by bit inputs which indicate that the record input to terminal B has precedence over the record input to input terminal A. In these figures the zero represents the relatively negative pulse or low signal while the 1 represents the positive pulse or high signal. Considering the first bit in each record of FIG. 2A, both are identical and zero, or low. When this is true at least one of the inputs to each of the and gates and 16 is low inasmuch as each of these gates has an input coming directly from terminals A and B. Thus, gates 15 and 16 are closed and trigger 18 remains in the reset condition, so the sorting switch remains in its first mode after receiving the initial A and B input bits. Considering the second bit of each record of FIG. 2A, both are identical and 1 or (high), thereby feeding positive or high inputs to both and gates 15 and 16. However, and gate 13 is also directly responsive to both terminals A and B, thereby providing a high or positive output. Since this high output is inverted by inverter 14, a low (relatively negative) output is fed to both and gates 15 and 16, thereby causing them to remain closed (each having a low output). As a result trigger 18 remains in the reset condition and the sorting switch remains in its first mode. Considering the third bit of each record of FIG. 2A, the bit at terminal A is l or high while the bit at terminal B is O or low. The low input fed through the direct connection from terminal B to and gate 16 is effective to close and gate 16 in conventional manner. A high or positive input from terminal A is fed directly to and gate 15. Since one of the inputs (from terminal B) to and gate 13 is low (relatively negative), gate 13 output is low. Inverter 14 inverts the low gate 13 outputs, feeding a high input into and gates 15 and 16. Considering also the timing pulse, already referred to as in synchronism with the pairs of serial by bit inputs to terminals A and B, it will be seen that all the inputs to and gate 15 (unlike those of and gate 16) are simultaneously high, thereby causing its output to be high. As a result, trigger 17, heretofore in a reset condition with a high output at its zero terminal, is switched to a set condition in response to the high input from gate 15. While in its set condition trigger 17 has a low output at its zero terminal which is in turn connected as an input to and gate 16. This input helps to keep and" gate 16 closed (low or relatively negative output). Once trigger 17 goes to the set condition indicating a decision that the record appearing at terminal A has precedence, a reset pulse is required if it is to be returned to the reset condition. Since a reset pulse only occurs each time a new pair of records appear at terminals A and B it follows that once trigger 17 is set, thereby indicating the precedence of the record being fed through input terminal A over that at terminal B, that and gate 16 remains closed and trigger 18 remains reset for the rest of the record time. Under this condition the sorting switch remains in its first mode of operation throughout the remaining record time.

As already suggested, prior to an additional pair of records being fed into input terminals A and B, a reset pulse is generated in a manner described below in connection with FIG. 3 in order that trigger 17 and trigger 18 of the decision circuit are returned to the reset condition prior to each comparison of successive records. It should be remembered that trigger 18 is not set until it is determined that the record appearing at input terminal B has precedence in a manner to be exemplified by considering the records of FIG. 2B. The first pair of bits of FIG. 2B being identical and zero (low or relatively negative) close both and gates 15 and 16 such that both triggers 17 and 18 continue in the reset condition and the sorting switch remains in its first mode of operation as described above. The second pair of bits of FIG. 2B being identical and 1, close both and" gates 15 and 16 by application of a low input to each of these gates from inverter 14. Thus, the sorting switch remains in its first mode of operation as before. Unlike the records of FIG. 2A, the third pair of bits in FIG. 2B differ, with the bit at terminal A being low while the bit at terminal B is high, indicating that the record at terminal B has precedence. In order that the gating circuitry may operate to switch the sorting switch to its second mode of operation when this decision is made, and in order that this condition be maintained for the rest of the record time, it is necessary that trigger 18 be set by a high output from and gate 16. When input terminal A is low and gate 15 receives a low input, is closed, and has a low output such that trigger 17 continues in a reset condition. When input terminal B is l and" gate 16 receives one high input directly, another high input from inverter 14 (because the output from and gate 13 is low as a result of its zero or low input from input terminal A), another high input from the zero terminal of trigger 17 (which remains in the reset condition), and a further high input from the timing pulse circuit. Since all of the inputs to an gate 16 are high, it has a high output which sets trigger 18. Trigger 18 then remains in this condition regardless of the content of the pairs of bits appearing at the input terminals A and B for the rest of the record time, and the sorting switch remains in its second mode of operation, whereby serial bits, being fed into input terminal A pass through to low output terminal L, and serial bits being fed into input terminal B pass through to high output terminal H.

The novel sorting switch of the present invention has been described above with reference to the method by which it determines the precedence of two records at a time. However, the many advantages which accrue from use of this novel technique are more apparent in connection with a description of the operation of the sorting switch in a sorting system environment as illustrated in FIG. 3. The sorting system as shown therein is simplified considerably in order that the present specification may not dwell unnecessarily on components well known in the arts. Therefore, only so much of the sorting system is shown as will be helpful in describing the invention. The two line sorting switch shown in block form may be identical in construction and operation as the one shown in FIG. 1. The file of records to be sorted may be stored on either a single magnetic tape or a magnetic drum as shown. The drum may comprise two sections. The first section 31 might be described as providing for the storage of the records as they are fed to the input of the two line sorting switch and written back on the drum in accordance with the precedence. The other section comprises clocking tracks to provide the timing pulses already referred to. In the first section, the arrangement of adjacent magnetic storage tracks in combination with the read, erase and write heads provides what might be described as a helical drum. For example, suppose that the first record of the file (whose records are presented in random sequence) is fed into the sorting system through terminal C by conventional buffer and gating circuitry not shown. This record is then written by head 33a, bit by bit, character by character, onto the first magnetic track, after the first, second and third record are successively placed on the track in the same manner. The number of records which may be stored on one circular track depends on many design considerations, such as the number of bits per character, the number of characters per second, drum diameter and the packing density on the drum. It also follows that the number of adjacent tracks contained on the drum is a matter of design. After the drum has made approximately one complete revolution the first, second, third and fourth records, etc. are read by head 34a in that order and passed through conventional amplifier and shaping circuits indicated at 36a to the adjacent track. After the records are read bit by bit to the adjacent track the permanent erase head 35:! between read head 34a and write head 33a obliterates the information so that new information is written on the first track by the write head 33a without interference from previously recorded information. Erase heads may not be necessary if the write heads and the magnetic track provided are of a type which permits writing to properly obliterate previously recorded information. While FIG. 3 illustrates only a limited number of adjacent magnetic tracks with read, write and erase head combinations, it should be apparent that the actual number used in practicing the invention is entirely a matter of choice and system capacity design considerations. The arrangement of the drum and read-write and erase head in this manner permits the tile of information in the form serial bits forming binary characters and records to follow a pseudohelical path as the drum rotates. The information is advanced one track for every revolution. The further read heads 34, write heads 33, erase heads 35 and shaping circuits 36 may correspond in function and construction on the first track. In this way, the information file, even though of considerable length, is treated as a continuous file. The serial by bit information is read from the last storage magnetic track 31d, and applied through amplifier 364! and write head 33c onto magnetic track 31c, which moves under the read heads 37, 38 and write heads 32, 39

of the two-line sorting switch. The two read heads 37 and 38 connected to input terminals A and B respectively of the two-line sorting switch should be placed one record length apart on sorting track 312 in a position such that the serial by bit information would pass under read head 37 after being written on the track. Because read heads 37 and 38 are one record length apart, the first record of the file, when written onto the sorting track, will pass serial by bit through head 37, while read head 38 reads no record whatsoever. Under these conditions the serial by bit record passing through input terminal A will by its very existence have precedence over the low serial by bit pulses passing through input terminal B as a result of there being no record on the sorting track to be read by read head 38. Detecting this precedence of the first record of the file, the two-line sorting switch will continue to feed bits from this record out the high output terminal H in manner described in detail above in connection with FIG. 1. The first record thus will be fed from terminal H back to the sorting track behind read head 37 and a permanent erase head 35; through write head 32 in a manner that when the leading serial bit of the second record of the file passes under read head 37, the leading serial bit of the first record is passing under the read head 38. Thus, the first record is fed into input terminal B while the second record is fed into input terminal A, with the record having precedence being simultaneously fed back on the track through write head 32, and the other record being simultaneously fed back on the track through write head 39. As already suggested, it is an important aspect of this invention that while the two records are being read from the track, they are simultaneously being read back on the track in accordance with their precedence even before the precedence has been determined. The record data fed back onto sorting track 31c by writing head 39 are applied through switch means s1 (which may be closed after the helical drum is completely filled with a file of records) to first storage track 31a in order that the complete file may be passed iteratively over the pseudo-helical path through the sorting switch. A cycle in which the complete file of records passes through the two line sorting switch may be called a pass. Repeated passes of the file of records will arrange the file of records in a sequence according to relative precedence as determined by the decision circuitry of the sorting switch.

FIG. 4 illustrates the action of the sorting system of FIG. 3 on a file of records arranged in a reverse sequence. The same identification numerals used for the read and write heads of FIG. 3 are used in FIG. 4 for clarity. Considering a file of records with a precedence indicated by the numeral representation of each record and moving in the direction of the arrow past the sorting switch heads, each level (a), (b), (c) or (d), etc. represents the arrangement of records after a pair of records are compared. The record 7 is continually re-circulated after it is considered by the sorting switch. Repeated decision as to precedence between pairs of records and passes will reverse the precedence of the records to put them in proper order. A pulse derived by pass counter 47 of FIG. 3 and applied via conductor 43 may be used to set trigger 17 for one record time at the beginning of each pass in order that the sorting switch may operate in its first mode, and release the record which has the highest precedence in the file to prevent it from recirculating through the read head 38, the sorting switch, the write head 32 and the sorting track. Another method of avoiding the problem of recirculation of the record with the highest precedence in the file would be to always maintain the last record space of the file vacant and modify the two-line sorting switch such that it will not change its mode of operation unless both inputs are receiving bits representing a record. This approach would be particularly useful for real time sorting.

As already suggested the magnetic drum combination of FIG. 3 may be rotated at a speed determined by optimum design by any well known means. However, it is exceedingly important that the overall sorting system be kept in synchronism. The portion of the magnetic drum heretofore described as the clock section (FIG. 3) comprises one or more clocking tracks. For example, track 30a may cooperate in a conventional manner with read head 41 to generate a timing pulse each time the drum moves far enough that a pair of bits enter terminals A and B of the two-line sorting switch to be compared by the decision circuit. These timing pulses are counted by a conventional pulse counter functionally described herein as bit counter and fed to the timing circuits described above in the sorting switch described in FIG. 1. The bit counter may be readily designed to give an output each time a record passes under one of the read head of the sorting switch since the number of bits contained in a record is determined by design and may be considered to be a constant. This pulse is fed to the two-line sorting switch as a reset pulse to function as described in FIG. 1 and to a conventional pulse counter herein. Since the number of records which may pass under reading heads of the sorting switch in one revolution of the magnetic drum is a constant, the record counter may be readily designed to give an output pulse to a conventional pulse counter, hereinafter called a revolution counter, each time the magnetic drum makes one revolution. Since the number of revolutions of the drum which are required for a full file of records to make a pass through the sorting switch is a constant, the revolution counter may be readily designed to give an output pulse to a conventional pulse counter, hereinafter called a pass counter, each time the drum makes enough revolutions that one pass takes place. The pass counter may be readily designed to provide a pulse at the beginning of every pass used to prevent the record of highest precedence in the file from recirculation in the manner mentioned above. The maximum number of passes required to sort completely a file full of records may be calculated as mathematically equal to the number of records in the complete file minus one, and the pass counter presentation may be utilized to determine whether or not the sorting operation has been completed.

Since the file of records will in most cases be partially in the desired sequence, it is usually economically justifiable to include a sequence checking device for monitoring the file of records such that a completely sorted file may be detected after a less number of passes than the maximum required when the file is of a completely random sequence. from read heads 48 and 49 will be discussed in more detail below in connection with FIG. 5.

Since synchronization of the circuits of FIG. 3 are of immense importance, it may often be desirable to provide a means for detecting the improper operation of the counters shown. For this purpose, and gate 42 (FIG. 3) receives inputs from the output circuits of the bit counter, the record counter and the revolution counter. If these three inputs are high (positive) simultaneously the and gate 42 has a high (positive) output. The inverter 45 receiving this input has a relative low (relatively negative) output. A second read head may be placed on the timing ring in the clock section 30 of the drum in a manner such that a positive pulse (high) will be produced at least each time the output from the inverter is low. The outputs from both read head 40 and inverter 45 serve as inputs to and gate 43. Considering the operation of this conventional and gate, its output will be low (relatively negative) as long as the counters are in synchronism. However, if the counters should fall out of synchronism for any reason, the output of inverter 45 will be high and the and" gate output will be high as each positive pulse is received from read head 40. Any pulseoperated indicator (such as shown in block form at 46) may be connected to and gate 43 to detect and indicate This sequence checker which receives inputs such lack of synchronism and consequent unreliability of the sorting operation.

FIG. 5 illustrates a sequence checker which might be used in the overall sorting system described above in connection with FIG. 3. The two read heads 48 and 49 may be placed at almost any point on the pseudo-helical magnetic storage path 50 providing that they are a record length apart and read head 48 is positioned to read the record of higher precedence when the file of records is sorted. The circuitry of the sequence checker may in most aspects be identical with the decision circuitry of the two line sorting switch described in detail in FIG. 1. Rather than repeat the details of the circuitry already described identical identification numerals are utilized. The circuit is identical with the decision circuit except that trigger 18 is reset by an end of pass pulse rathter than an end of record pulse. If the records in sort are represented by an ascending sequence, the record being read serial by bit by head 48 to input terminal A always has precedence over that being read by input terminal 13. Thus, trigger 17 should be set every time the control field of each pair of records is being read. The reset pulse which resets the trigger 17 is provided prior to each comparison of a pair of records. However, if the file of records is out of sort, on the first occasion that the record appearing at input terminal B has precedence over the record appearing at input terminal A, trigger 18 is set, as was the case in the decision circuit of FIG. 1. Further, since the first instance of this condition is suificient to indicate the need for an additional pass, the trigger 18 is not reset until the pass has been completed. The completed pass pulse may be provided by a conection in parallel with the pass counter of FIG. 1. When trigger 18 is high at its zero output terminal (reset condition), indicating a set condition for a complete pass, this is an indication that the file is completely sorted. The output from the zero terminal of the trigger 18 may be conected to a conventional indicator, such as light 51, for example, to provide a visual indication.

The above description of the present invention has utilized coded information in a manner which may be characteristic as serial by bit basis. However, the invention well may be practiced in a manner which may be described as a character by character basis, where each character is reperesented by a number of binary digits in a coded group as before, but all of binary digits representing a character are considered simultaneously. By way of example, a character may be represented by five binary code digits which are arranged to be read by five read head simultaneously as shown in FIG. 6. The storage means 60 shown therein may be, by way of example, five magnetic tracks on a magnetic drum as shown in FIG. 3 above. If the single magnetic tracks shown therein are considered as comprising five tracks side by side and the read and Write heads shown therein are each considered as comprising five heads side by side registering with the live tracks, the sorting switch of FIG. 6 may be considered as the sorting switch shown in FiG. 3. Thus, when the system of FIG. 3 is modified in accordance with this concept the records are read for comparison chracter by character rather than bit by bit. The read heads A A A A A and B B B B and B., may be positioned one record length apart in the direction in which the recording head is moving. The pair of records read by these read heads may be compared by the decision circuitry, to be described below to determine the precedence of one record over the other. Moreover, gating circuitry to be described below, which is responsive to the decision circuitry, directs the record with the highest precedence out through high output terminals to write heads Hg, H H H 1-1.; to be written back on the memeory means as shown and the record with the lower precedence out through low output terminals to write heads L L L L L to be written back on the memory means as shown. Erase heads 61 and 62 are positioned between the read and write heads in the same manner as in FIG. 3 above. The physical relationship between the corresponding read, erase and write heads is not shown to scale in either FIG. 3 or FIG. 6. In actual practice the corresponding heads would be as close together as design tolerances permit.

The decision circuitry of the sorting switch receives simultaneous binary digit inputs character by character of the pair of records being compared simultaneously with the inverted binary digit inputs character by character of the records being compared. The details of the decision circuitry are shown in FIG. 7 where the condition of a trigger 86 is determined by the decision made by the rest of circuitry as to which of the two records being compared has the precedence. The initial condition of trigger 86 (prior to the decision) is the reset position whereby the zero treminal of the trigger is high or positive. After the decision that the record being read at heads A A A A and A, has precedence over the record being read by heads B B B B and B trigger 86 remains in the reset condition. Trigger 86, in the reset condition, with zero terminal being high, controls a group of output gates in the gating circuitry such that the sorting switch feeds the record being read in at heads A A A A and A out the high output terminals and the record being read at heads B B B B and B out the low output terminals, this condition hereinafter termed the first mode of operation of the sorting switch of FIG. 6. After the decision that the record being read in at heads B B B B and 13.; has precedence over the record being read heads A A A A and A trigger 86 goes to the set condition. The 1 terminal of the trigger 86 when high or positive, controls the group of output gates which gate the record read in at heads A A A A and A out of the low output terminals, and the record read in at heads B B B B and B out the high output terminals, this condition hereinafter termed the second mode of operation of the sorting switch of FIG. 6.

As the first pair of characters is read in through the plural read heads, each bit of one character is compared with its corresponding bit on the outer character to determine precedence. The circuitry is so arranged that a mismatch of higher subscripted bits takes precedence over a lowed subscripted bit. For example, if the bit read in one head A; is a 1 and the bit read in on head B is zero at the same time, then the output from and gate 64 is high (positive) and this will cause or gate 82 and and" gate 83 to be high. And gate 83 also reccives a simultaneous timing from the clock section. As a result, trigger 87 is set and operates on and gate 84 with a low input for the remainder of the record, so that trigger 86 remains in the reset condition. At the same time, the high output from and gate 64 is passed through or gate 66 and inverted so that the inverter output is low. Under these conditions, and gates 68 and 69 are prevented from having a high output regardless of the relative magnitudes of the pair of bits read in one read heads A and 8;. Also, and gate 71 is prevented from having a high input so that the pair of bits read by read heads A and B have no influence on the comparison of the two characters. However, if the pair of bits used by read heads A and B are equal, then both and gates 64 and 65 have a low output, so that the output of or gate 66 will be zero and the inverter 88 will have a high output. Under these conditions, the comparison of the pair of bit read in at read heads A and B is significant in determining the precedence of the pair of records being read. Similarly, if both the pair of bits read by read heads A and B and the pair of bits read by read heads A and B are equal, the determination of precedence is based primarily on the comparison of the bits read by read heads A and B and so forth, until all of the binary digits of the pair of binary coded characters have been compared according to their significance. When the record being read by read heads A A A A and A is found to have precedence over the record being read by read heads B B B B and B trigger 87 is set by one of the and" gates 64, 63, 70, 76, and 79 in a manner already described relative to and" gate 64. When trigger 87 is set its zero terminal has a low output which is fed to and gate 84, so that trigger 86 which is re sponsive to and gate 84, may not set for the remainder of the comparison of the pair of records. 1f on the other hand, the record being read by the read heads B B B B and B is found to have precedence over the record being read by read heads A A A A and A trigger 86 is set by one of the "and gates 65, 69, 73, 77 and 81, depending on which bit of the character indicated the precedence through or gate and and gate 84. The coincidence of the high output from the zero terminal of the trigger 87, when in the reset condition, with the high output from *or" gate 85 and a timing pulse causes and gate 84 to have a high output, which sets trigger 86 and its 1 terminal to have a high output. Thus, the terminal of the trigger 86 may be connected to operate gating so that the sorting switch operates in its first mode, and the 1 terminal of that trigger may be connected to operate gating such that the sorting switch operates in its second mode.

A higher speed in the decision circuitry of FIG. 7 may be achieved by suitable changes in the method in which each binary bit comparison is controlled by previous comparison of bits of higher significance. For example, diodes may be added to and gates 74 and 78 so that the inputs to these and gates may be fed directly from these original sources rather than being directed through all previous andgatcs. In some codes it may be found that the comparison of corresponding bits in the characters does not have the same significance over all bit positions. If such is the case, the circuit may be designed to Work for the specific code by interchanging the inputs for that bit position. In certain other cases, anomalies of comparison will be found to exist, wherein a given rule of comparison such as has been assumed in this description is not found to be consistent throughout the entire code. Provision for such a stipulation can be made by adding to this particular device specially designcd units which recognize their unusual coded groups.

The details of getting circuitry found in block form in FIG. 6 are shown in FIG. 8. Trigger 86 was described in connection with FIG. 7 as controlling the gating circuitry in a manner that the sorting switch operates in the first mode when it is in reset condition, and in its second mode when it is in its set position. The details of this circuitry are almost identical with those shown enclosed by a dotted block in FIG. 1 and identified by Y except that each and gate and or gate is duplicated in accordance with the number of parallel bits utilized to determine a character (live in the embodiment illustrated). Because of this similarity identical primed identifi cation numerals are utilized for each bani; of gates as used for the gate with the same function in PEG. 1. Thus, prior to the decision as to precedence and after the decision when the record being read in on read heads A A A A and A, has precedence, trigger 86 remains in the reset condition with its zero terminal high and its one terminal low, so that and gates 19 and 22', receiving a high input from the zero terminal, are maintained open and responsive to the high inputs directly from the read heads, while and gates 26' and 21' receiving a low input from the 1 terminal are maintained closed and nonresponsive to the high inputs directly from the read heads. During these conditions the sorting switch operates in the first mode, with the read heads A A A A and A; being effectively directly connected to the high output write heads H H H and H while the read heads B B B B and B are eticctively directly connected to the low output write heads L L L L and L After the decision is made that the record being read in on read heads B B B B and E has precedence, trigger 86 goes to the set condition with the 0 terminal low and its 1 terminal high, so that and gates and 21', receiving a high input from the 1 terminal, are maintained open and responsive to the high inputs directly from the read heads, while and gates 19' and 22' receiving a low input from the 0 terminal are maintained closed and non-responsive to the high inputs directly from the read heads. During these conditions the sorting switch operates in the second mode with the read heads A A A A and A, being effectively directly connected to the low output write heads L L L L and L while the read heads B B B B and B are etfectively directly connected to the high out-put write heads H H H H and H Each of the plural and gates 19, 20', 21' and 22' receive inputs (not shown) from a timing pulse source each time bits are read from the storage means for purpose of synchronization as already discussed above. Or" gates 23' serve to connect the high output terminals to the output of both and gates 19' and and gates 20'. Or" gates 24' serve to connect the low output terminals to the output of both and gates 22 and *and" gates 21'.

Thus, the sorting of a file of records according to the present invention may be accomplished by either utilizing the switch circuitry of FIG. 1, when the information is handled serial by bit, or the switch circuitry of FIGS. 6, 7 and 8 when the information is handled character by character. Under the conditions set forth above in describing FIGS. 6, 7 and 8, the system of FIG. 3 may utilize those switching circuits instead of the two-line sorting switch of FIG. 1. Whichever of these techniques are adopted, each has the merit of the serial sort approach and a relative simplicity of circuitry over known parallel sorting systems. Moreover, the switch circuitry of either FIG. 1 or FIGS. 6, 7 and 8 avoids the need for the complicated storage, comparison, and synchronizing means required by the merging technique of the prior art. According to the present invention the bits of the control fields of the pair of records need not be stored until two full control fields are available for comparison as to precedence, since the bits and characters are examined and switched as they enter the comparison means without any delay for the precedence. This, of course, is based on the fact that the pair of records are identical and are simultaneously passed through to the pair of output terminals until the examination of a pair of bits or a pair of characters indicates a precedence. Switching circuits may change the mode of operation as to which record is passed out each of the pair of output terminals, in accordance to the determination of precedence.

It is important to emphasize that the sorting technique of the present invention may utilize either magnetic tape or magnetic drum. However, it should be noted that the pseudo-helical path provided by the magnetic drum of FIG. 3 provides several advantages over the mere substitution of a magnetic tape in its place. For example, for a magnetic tape to provide an endless magnetic path of considerable length, several magnetic tapes would be required making the problems of synchronization of the drive means very critical. Further the possibility of a considerable amount of stretch in the tape would cause further problems of synchronization and read and write head location. The pseudo-helical magnetic path as provided in the drum herein being mechanically integral with the clocking section provides a minimum of synchronization problems which may be solved by the application of well known and conventional techniques and components.

While the merging technique of the prior art is not applicable to real time sorting as defined above, the sorting technique of the present invention may be used to enter new records in the input terminal shown in FIG. 3 when the feedback connection from the sorting track to the first storage track is open, followed by recirculation through the sorting switch in the normal manner. The limitation of this is that only a maximum number of records may be recirculated through the sorting switch at once. This number is of course dependent on the design of the magnetic drum providing the endless pseudohelical magnetic path.

The sorting technique as exemplified by the sorting system shown in FIG. 3 may be designed to operate entirely independently but in cooperation with many known data computation systems without monopolizing valuable computer time thereby tending to raise overall data system expenses. Moreover, an independent data sorting system using the sorting technique of the present invention may be constructed relatively inexpensively compared to one using the merging technique of the prior art.

The two-line sorting switch or repetitive switching network is shown as operating on the file of records as they pass under the appropriate read heads on the track farthest to the right. However, it should be noted that the read and write heads of the sorting switch may operate on any one of the adjacent storage tracks. Also it should be noted that the recirculation of the bits in the sorting switch may be done in cooperation with a separate storage means or track so long as the proper synchronization exists. As already suggested the control field of a binary coded record may vary from one bit to the whole record depending on the practical application of the sorting system of the present invention.

The term precedence heretofore used herein as indicating a larger magnitude of the control field of one record over that of another could well be used to indicate the lesser magnitude of the control field of one record over that of another. The term precedence with regard to present invention may be defined according to any distinguishing feature of one record over that of another. The file of records was sorted as shown herein according to the ascending sequence of their control fields. However, the file could well have been sorted according to a descending sequence by reversing the positions of the two write heads of the two line sorting switch. The terms positive and relatively negative pulses have been used to represent binary bits 1 and 0 respectively herein. It is emphasized that present invention may be practiced by reversing this representation or 3y any of the other known means of representing binary its.

This application is a continuation of copending application Ser. No. 641,502, filed February 21, 1957.

It will thus be seen that the objects set forth above, among those made apparent from the preceding description, are efficiently attained, and since certain changes may be made in the above constructions without departing from the scope of the invention, it is intended that all matter contained in the above description or shown in the accompanying drawing shall be interpreted as illustrative and not in a limiting sense.

It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.

Having described our invention, what we claim as new and desire to secure by Letters Patent is:

1. A sorting means for sorting randomly arranged records wherein a certain portion of such record may be characterized as a control field, comprising repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously receiving two records, arranged in descending order of significance, said switching network means comprising decision making means coupled to receive both control fields of the records and being operable to determine which of the records appearing at said first and second input terminals has precedence over the other, gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the ouput terminals prior to the determination of precedence by the switching network, said gating means responsively coupled to said decision making means for directing the record which takes precedence to said first output terminal and the other record to said second output terminal subsequent to the determination of precedence.

2. A sorting means for sorting randomly arranged records wherein a certain portion of each record may be characterized as a control field, comprising repetitive switching network means with first and second input terminals and first and second output terminals coupled to receive simultaneously two records serially by bit, said two records being arranged in descending order of significance, said switching network means comprising decision making means for determining which of the records appearing at said first and second input terminals has precedence over the other, gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the output terminals prior to the determination of precedence by the switching network, said gating means responsivcly coupled to said decision making means for directing the record which has prece dence to said first output terminal and the other record to said second output terminal subsequent to the determination of precedence.

3. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously comparing two records as to precedence, said two records being arranged internally in descending order of significance, first and second sorting read heads connected to said first and second input terminals, first and second sorting write heads connected to said first and second output terminals, storage means for storing a large file of records comprising a rotating drum on which plural adjacent mechanical tracks are placed including a first and final track, plural read, erase, write magnetic head combinations located such that a combination cooperates with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track and the read head of the final track to the write head of the first track, said file of records being stored on these tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations thereby describing an endless pseudo-helical magnetic path, said first and second sorting read heads and said first and second sorting write heads being disposed on one of said adjacent tracks such that said file of records is iteratively passed through said repetitive switching network means and arranged in a desired sequence, said first sorting read head and said first sorting write head being disposed ap' proximately one record length from said second sorting read head and said second sorting write head, a decision circuit means comprising two read heads disposed one record length apart on one of said adjacent tracks for determining when said file of records are in the desired sequence.

4. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field, comprising repetitive switching network means with a first and second set of input terminals and a first and second set of output terminals for simultaneously receiving two records character by character, said two records being arranged internally in descending order of significance, said switching network means comprising decision making means coupled to the input terminals for determining which of the records appearing at said first and second sets of input terminals has precedence over the other, and gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the output terminals prior to the determination of precedence by the switching network, said gating means responsively coupled to said decision making means for directing the record which 1 S takes precedence character by character to said first set of output terminals and the other record character by character to said second set of output terminals subsequent to the determination of precedence.

5. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field, comprising repetitive switching network means with a first and second set of input terminals and a first and second set of output terminals for simultaneously receiving two records character by character, said switching network means comprising decision making means having a reset and set operating condition which compares the two records character by character until the precedence is determined, gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the output terminals prior to the determination of precedence by the switching network, said gating means responsive to said decision making means for directing the record which takes precedence character by character to the first set of output terminals and the other record character by character to the second set of output terminals subsequent to the determination of precedence, means for developing a reset pulse commensurate with the simultaneous entry of each pair of records into said first and second sets of input terminals for resetting said decision making means.

6. A sorting means for sorting randomly arranged records wherein a certain portion of each record may be characterized as a control field comprising, repetitive switching network means with first and second sets of input terminals and first and second sets of output termiuals for simultaneously receiving two records character by character, said two records being arranged internally in descending order of significance, coupled to the input terminals, said switching network means comprising decision making means for determining which of the records appearing character by character at said first and second sets of input terminals has precedence over the other, gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the output terminals prior to the determination of precedence by the switching network, said gating means responsively coupled to said decision making means for directing the record which has precedence character by character to said first set of output terminals and the other record to said second set of output terminals subsequent to the determination of precedence.

7. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first and second input terminals and first and second output terminals for repetitively receiving two records simultaneously serially by bit said switching network means comprising decision making means having a reset and set operating condition which compares the two records bit by bit until the precedence of the two records is determined, gating means coupled between the input terminals and the output terminals for arbitrarily directing the records to the output terminals prior to the determination of precedence by the switching network, said gating means responsive to said decision making means for directing the bits of the record which takes precedence to said first output terminal and the bits of the other record to said second output terminal after the decision of precedence has been made, means for developing a resetting pulse commensurate with the simultaneous entry of each pair of records into said first and second input terminals, said resetting pulse means resetting said decision making means.

8. A system for sorting a file of randomly arranged records wherein a certain portion of each record may be characterized as a control field, comprising a memory means for storing a file of records containing binary coded information, repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously receiving two records for comparison of their control fields, said switching means including means for arbitrarily passing the records to the output terminals prior to the determination of precedence and switching the record with the control field which takes precedence to said first output terminal and the other record to said second output terminal subsequent to the determination of precedence, said first and second input terminals of said switching network being disposed to receive successive records of said file from said memory means, said first and second output terminals of said switching network being disposed to feed the records back to said memory means in accordance with the precedence, and the record entering said second input terminal of said switching network means from said memory means during each repetitive comparison being the record which had precedence during the previous comparison.

9. A system for sorting a file of randomly arranged records wherein a certain portion of each record may be characterized as a control field comprising a memory means for storing a file of records containing binary coded information character by character, repetitive switching network means with a first and second set of input terminals and a first and second set of output terminals for simultaneously receiving a pair of records character by character for comparison of their control fields, said switching means including means for arbitrarily passing the records to the output terminals prior to the determination of precedence and for switching the record which has precedence to said first set of output terminals and the other record to said second set of output terminals subsequent to the determination of precedence, said first and second sets of input terminals of said switching network being disposed to receive successive records of said file character by character from said memory means, said first and second sets of output terminals of said switching network means being disposed to feed the records character by character back to said memory means in accordance with their precedence, the record entering the second set of input terminals from the memory device during each repetitive comparison being the record which had precedence during the previous comparison.

10. A system for sorting a file of randomly arranged records wherein a certain portion of each record may be characterized as a control field comprising a memory means for storing a file of records containing binary coded information serial by bit, repetitive switching net work means with first and second input terminals and first and second output terminals for simultaneously receiving two records serial by bit for comparison of their control fields, said switching means including means for arbitrarily passing the records to the output terminals prior to the determination of precedence and for switching the record with the precedence to said first output terminal and the other record to said second output terminal subsequent to the determination of precedence, said first and second input terminals of said switching network being disposed to receive successive records of said file from said memory means, said first and second output terminal of said switching network means being disposed to feed the records back to said memory means in accordance with their precedence, the record entering the second input terminal from the memory means during each repetitive comparison being the record which had precedence during the previous comparison.

11. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously receiving two records arranged internally in descending order of significance, said switching network means comprising decision making means for deter- (ill mining which of the records appearing at said first and second input terminals has precedence over the other, gating means responsive to said decision making means for directing the record which takes precedence to said first output terminal and the other record to said second output terminal, storage means for storing and iteratively passing a large file of records through said repetitive switching network means in order that the file be arranged in a desired sequence comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and a final track, plural read, erase, write, mag netic head combinations located such that a combination cooperates with each track, plural electrical means con necting the read head of each track to the write head on the adjacent track and the read head of the final track to the write head of the first track, said file of records being stored on these adjacent tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations describing an endless pseudo-helical magnetic path, said repetitive switching network being disposed in said endless pseudo-helical magnetic path.

12. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with a reset pulse input terminal, a timing pulse input terminal, first and second input terminals and first and second output terminals for simultaneously comparing two records as to precedence, said two records being arranged internally in descending order of significance, a first and second sorting read head connected to said first and second input terminals, a first and second sorting write head connected to said first and second output terminals, storage means for a file of records comprising a rotating drum having a first and second section, said first section comprising a rotating drum. a plurality of adjacent magnetic tracks including a first and final track, a read, erase, write magnetic head combination cooperating with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track and the read head of the final track to the write head of the first track, said file of records being stored on these adjacent tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations describing an endless pseudo-helical magnetic path, said second section comprising a timing ring and a timing read head cooperating with said timing ring in a manner that a pulse is produced each time a binary bit passes under the read heads of the adjacent tracks of said first section, a pulse counter constructed to give an output pulse after the number of input pulses is equal to the number of binary bits defining a record, said timing read head being connected to both said timing pulse input terminal of said repetitive switching network and said pulse counter, said output of said pulse counter being connected to said reset pulse input terminal of said repetitive switching network, said first and second sorting read heads and first and second sorting write heads cooperating with one of said adjacent tracks of said first section of said storage means in a manner such that the file of records may be iteratively passed through said repetitive switching network and the file re-arranged in a desired sequence.

13 A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously comparing two records as to precedence, first and second sorting read heads connected to said first and second input terminals, first and second sorting write heads connected to said first and second output terminals, storage means for storing a large file of records comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and final track, plural read, erase, write magnetic head combinations located such that a combination cooperates with each track, plural electrical means connected the read head of each track to the write head on the adjacent track and the read head of the final track to the write head of the first track, said file of records being stored on these tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations thereby describing an endless pseudohelical magnetic path, said first and second sorting read heads and said first and second sorting write heads being disposed on one of said adjacent tracks such that said file of records is iteratively passed through said repetitive switching network means and arranged in a desired sequence.

14. A sorting means for sorting randomly arranged binary coded records wherein a certain portion of each record may be characterized as a control field comprising repetitive switching network means with first and second input terminals and first and second output terminals for simultaneously comparing two records as to precedence, said two records being arranged internally in descending order of significance, first and second sorting read heads connected to said first and second input terminals, first and second sorting write heads connected to said first and second output terminals, storage means for storing a large file of records comprising a rotating drum on which plural adjacent magnetic tracks are placed including a first and final track, plural read, erase, write magnetic head combinations located such that a combination cooperates with each track, plural electrical means connecting the read head of each track to the write head on the adjacent track and the read head of the final track to the Write head of the first track, said file of records being stored on these tracks in a manner that a particular record may move from track to track as said drum rotates under the read, erase, write head combinations thereby describing an endless pseudo-helical magnetic path, said first and second sorting read heads and said first and second sorting write heads being disposed on one of said adjacent tracks such that said file of records is iteratively passed through said repetitive switching network means and arranged in a desired sequence, said first sorting read head and said first sorting write head being disposed approximately one record length from said second sorting read head and said second sorting write head on said endless pseudo-helical magnetic path.

References Cited by the Examiner UNITED STATES PATENTS 2,935,732 5/1960 Guerber 340l72.5

ROBERT C. BAILEY, Primary Examiner.

G. D. SHAW, Assistant Examiner. 

1. A SORTING MEANS FOR SORTING RANDOMLY ARRANGED RECORDS WHEREIN A CERTAIN PORTION OF SUCH RECORD MAY BE CHARACTERIZED AS A CONTROL FIELD, COMPRISING REPETITIVE SWITCHING NETWORK MEANS WITH FIRST AND SECOND INPUT TERMINALS AND FIRST AND SECOND OUTPUT TERMINALS FOR SIMULTANEOUSLY RECEIVING TWO RECORDS, ARRANGED IN DESCENDING ORDER OF SIGNIFICANCE, SAID SWITCHING NETWORK MEANS COMPRISING DECISION MAKING MEANS COUPLED TO RECEIVE BOTH CONTROL FIELDS OF THE RECORDS AND BEING OPERABLE TO DETERMINE WHICH OF THE RECORDS APPEARING AT SAID FIRST AND SECOND INPUT TERMINALS HAS PRECEDENCE OVER THE OTHER, GATING MEANS COUPLED BETWEEN THE INPUT TERMINALS AND THE OUTPUT TERMINALS FOR ARBITRARILY DIRECTING THE RECORDS TO THE OUTPUT TERMINALS PRIOR TO THE DETERMINATION OF PRECEDENCE BY THE SWITCHING NETWORK, SAID GATING MEANS RESPONSIVELY COUPLED TO SAID DECISION MAKING MEANS FOR DIRECTING THE RECORD WHICH TAKES PRECEDENCE TO SAID FIRST OUTPUT TERMINAL AND THE OTHER RECORD TO SAID SECOND OUTPUT TERMINAL SUBSEQUENT TO THE DETERMINATION OF PRECEDENCE. 